package com.jar.exercise.多线程.线程池.threadpool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 创建一个可缓存线程池。
 * 先查看池中有没有以前建立的线程，如果有，就直接使用。
 * 如果没有，就建一个新的线程加入池中，缓存型池子通常用于执行一些“生存期很短”的异步型任务
 */
public class NewCacheThreadPool {
	public static void main(String[] args) {
		ExecutorService service = Executors.newCachedThreadPool();
		for (int i = 0; i < 10; i++) {

			service.execute(
				() -> {
					System.out.println(Thread.currentThread().getName() + "正在执行！");
					try {
						Thread.sleep(1000);
						System.out.println(Thread.currentThread().getName() + "执行完毕");
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				});
		}
		service.shutdown();
	}
}
